package br.com.esporte.persistence.DAO.impl;

import java.util.List;

import javax.persistence.Query;

import org.springframework.stereotype.Repository;

import br.com.base.persistencia.DAO.impl.GenericDAOImpl;
import br.com.esporte.model.Grupo;
import br.com.esporte.model.Usuario;
import br.com.esporte.persistence.DAO.UsuarioDAO;
import br.com.esporte.persistence.filter.FiltroUsuario;

/**
 * @author Milton Domingues
 */
@Repository
public class UsuarioDAOImpl extends GenericDAOImpl<Usuario, Long, FiltroUsuario> implements UsuarioDAO {

	public UsuarioDAOImpl() {
		super(Usuario.class);
	}

	@Override
	@SuppressWarnings("unchecked")
	public List<Usuario> consultarUsuarioGrupo(Grupo grupo) {
		StringBuilder hql = new StringBuilder();

		hql.append("SELECT grupoPart.participante FROM GrupoParticipante grupoPart WHERE grupoPart.grupo = :grupo");

		Query query = createQuery(hql.toString());

		query.setParameter("grupo", grupo);

		return query.getResultList();
	}

}
